def caesar_cipher(text, shift):
    """
    凯撒密码加密/解密函数

    :param text: 待加密/解密的文本
    :param shift: 字母移动的位数
    :return: 加密/解密后的文本
    """
    result = []
    for char in text:
        if char.isalpha():  # 检查字符是否是字母
            shift_base = ord('A') if char.isupper() else ord('a')
            result.append(chr((ord(char) - shift_base + shift) % 26 + shift_base))
        else:
            result.append(char)  # 非字母字符保持不变
    return ''.join(result)

def main():
    # 用户输入
    text = input("请输入要加密/解密的文本: ")
    shift = int(input("请输入字母移动的位数: "))
    mode = input("请选择模式 (加密/解密): ").strip().lower()

    if mode == '加密':
        encrypted_text = caesar_cipher(text, shift)
        print(f"加密后的文本: {encrypted_text}")
    elif mode == '解密':
        decrypted_text = caesar_cipher(text, -shift)
        print(f"解密后的文本: {decrypted_text}")
    else:
        print("模式选择无效，请选择'加密'或'解密'。")

if __name__ == "__main__":
    main()